1. Field of the Invention
The present invention relates to a communication apparatus, a program product, and a recording medium storing the program product, and more particularly to a communication apparatus including a plurality of service providing functions, a program product for adding a new communication mechanism to the communication apparatus for providing improved usability and communication efficiency, and a recording medium storing the program product.
2. Discussion of the Background
In a background communication apparatus, an application program executed by the communication apparatus is provided with a method. The background communication apparatus receives a request for processing the method as a command from an external apparatus, and returns a result of the processing as a response. The method refers to a logical function for which formats of an input and an output are defined. In the case, the command represents a Procedure Call for calling the function, while the response represents a result of execution of the function called by the Procedure Call.
In detail, the above processing can be performed by a service function, for example a web service providing function, for receiving a command as a simple object access protocol (SOAP) request included in a hypertext transfer protocol (HTTP) request, and for sending a SOAP response to the SOAP request included in an HTTP response.
The service function is also used by a client machine such as a personal computer by sending a command to the communication apparatus as a SOAP request included in an HTTP request, and by receiving a SOAP response representing a result of execution of the command included in an HTTP response.
There is no problem for the communication apparatus to provide the above service when a firewall is not installed between the communication apparatus and a service receiving apparatus (user apparatus), for example, when the communication apparatus can communicate with the service receiving apparatus through a network within a user environment such as a local area network (LAN). Generally, in the case, the network is configured such that any apparatus can send and receive a communication request such as an HTTP request to any apparatus, and therefore, a service receiving apparatus can freely send a communication request to a service providing apparatus.
However, when the firewall is installed, and a service receiving apparatus, for example, needs to communicate with a service providing apparatus installed in a LAN through the Internet, the service receiving apparatus cannot send a communication request. In general, because a firewall is install for a purpose of blocking access from outside to inside, when a service providing apparatus is installed inside the firewall, an apparatus installed outside the firewall cannot send a command (operation request) included in a communication request to the service providing apparatus.
In a known technique, when a local processor is arranged inside a firewall, the local processor sends an HTTP request to a remote processor arranged outside the firewall, and the remote processor sends a command to the local processor as a response to the HTTP request so that a command can be sent from outside the firewall to inside.
In another technique, reverse tunneling using a reverse proxy and a proxy agent is adopted so that a command and a response to the command can be transmitted through a firewall.
The above techniques related to command transmission have been applied to a system for remotely controlling operation of an apparatus connected to a communication apparatus. For example, the techniques are applied to a remote control system including a remote controlled apparatus and a remote control apparatus. The remote control apparatus receives an operation from a user, and sends a command to the remote controlled apparatus to cause the remote controlled apparatus to operate a window shade and a lighting apparatus.